/**
 * 
 */
package autoz.czt.launching;

import java.util.ArrayList;
import java.util.List;

/**
 * @author jimmy
 *
 */
public abstract class ZOOSchemaNames {
	// These might want to be regular expressions.
	// There are more, but not sure whether this is actually the best way to do this or not...
	
	//TODO: Get a list of the class, attribute and operation names so as to match against.
	// at the end of the logic file, could print the list of these and capture it in java by reading the module's context.
	// or look at grabbing it directly from the module - maybe you can access the model repository? maybe do it when loading the models?
	
	public static String INITIALISATION = "Init";
	public static String FINALISATION = "Fin";

	public static String DELETE_OPERATION = "Delete";
	
	public static String ASSOCIATION = "Link";
	
	public static String GLOBAL_CONSTRAINT = "Const";
	public static String SYSTEM = "System";
	public static String SYSTEM_INIT = "SysInit";
	
	// These might not be relevant.
	public static String UPDATE_PROMOTION_FRAME = "U";
	public static String NEW_PROMOTION_FRAME = "N";
	public static String OBSERVE_PROMOTION_FRAME = "O";
	public static String DELETE_PROMOTION_FRAME = "D";
	
	public final static List<String> getSpecialSchemaNames(){
		List<String> specials = new ArrayList<String>();
		specials.add(SYSTEM);
		specials.add(SYSTEM_INIT);
		specials.add(GLOBAL_CONSTRAINT);
		
		return specials;
	}
}
